<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue 小案例</title>
    <style type="text/css">
        html, body, #editor {
            margin: 0;
            height: 100%;
            font-family: 'Helvetica Neue', Arial, sans-serif;
            color: #333;
        }

        textarea, #editor div {
            display: inline-block;
            width: 49%;
            height: 100%;
            vertical-align: top;
            box-sizing: border-box;
            padding: 0 20px;
        }

        textarea {
            border: none;
            border-right: 1px solid #ccc;
            resize: none;
            outline: none;
            background-color: #f6f6f6;
            font-size: 14px;
            font-family: 'Monaco', courier, monospace;
            padding: 20px;
        }

        code {
            color: #f66;
        }
    </style>
    <!--<link rel="stylesheet" type="text/css" href="css/vue.css">-->
    <!--<link rel="stylesheet" type="text/css" href="css/css.css">-->
    <!--<link rel="stylesheet" type="text/css" href="css/embed-light.css">-->
    <!--<link rel="stylesheet" type="text/css" href="css/result-light.css">-->
    <!--<script src="https://unpkg.com/vue/dist/vue.js"></script>-->

    <!--<script type="application/javascript" src="js/highlight.pack.js"></script>-->
    <script type="application/javascript" src="js/lodash.js"></script>
    <script type="application/javascript" src="js/marked.js"></script>
    <script type="application/javascript" src="js/vue.js"></script>
    <!--<script type="application/javascript" src="js/embed.js"></script>-->
</head>
<body>

<div id="editor">
    <textarea :value="input" @input="update"></textarea>
    <div v-html="compiledMarkdown"></div>
</div>

</body>
<script>
    var app = new Vue({
        el: '#editor',
        data: {
            input: '# hello'
        },
        computed: {
            compiledMarkdown: function () {
                return marked(this.input, { sanitize: true })
            }
        },
        methods: {
            update: _.debounce(function (e) {
                this.input = e.target.value
            }, 300)
        }
    })
</script>
</html>